The present invention relates to a method and apparatus for automatically producing a machining program to be executed by a machine tool. More particularly, the present invention relates to a method and apparatus for automatically producing a multi-line control program to be executed by an NC (numerical control) machine tool having at least one spindle and at least one tool rest both operable under control of a plurality of lines.
In recent years, in the field of NC machine tools, progress has been made in multiple function machining enabling complicated and diverse shapes of products to be automatically machined by providing turning tools, drills, mills, and other various types of tools exchangeably on tool rests and enabling execution of turning, drilling, milling, and other various machining processes using them.
Further, in NC lathes and other automatic lathes (that is, lathes able to automatically perform machining), multi-function type NC lathes designed to shorten the machining time by centrally placing at least one spindle and at least one tool rest, both operable under the control of a plurality of lines, on a single lathe bed to enable simultaneous different types of machining (for example, outer diametrical cutting and boring) on the same workpiece (for example, bar) or simultaneous machining of different workpieces.
Note that the term xe2x80x9clinexe2x80x9d means a combination of a group of control axes controlled by a single machining program (including case of only one control axis). When it is possible to set a plurality of types of combinations of groups of control axes on a single NC machine tool, the control system in that NC machine tool is generally called xe2x80x9cmulti-line control (or multi-path control)xe2x80x9d.
When trying to perform various types of machining processes simultaneously or in a desired order on a single workpiece in such a multiple function machining NC machine tool, the work of producing the series of machining programs and registering them in the NC device requires advanced programming skills, so tends to place a considerable burden on the operator.
On the other hand, in the field of NC machine tools, various configurations of automatic programming apparatuses provided in relation to NC devices have been proposed to reduce the labor demanded from the operator at the time of preparing the machining programs. This type of automatic programming apparatus usually is provided with a CPU, memory, keyboard, display, etc. and is designed to acquire the data required for executing machining processes from dialog type instructions and input data from the operator for various selection items or required items displayed in order on the display and, if necessary, geometric data of the machined product input by a drawing format through a graphic input device such as a CAD system and to use this to automatically produce the required machining programs. According to this automatic programming apparatus, the work of the operator inputting the machining programs by phrases is eliminated, so even an operator with inferior programming skills can prepare complicated machining programs in a relatively short time.
In the above conventional automatic programming apparatus, while the time of production of machining programs by the operator is effectively shortened, the various data required for the programming is judged and set by the operator with reference to the design drawings of the machined product, so sufficient knowledge about the machining processes or tool attributes is required from the operator.
For example, when producing a series of machining programs for executing the various automatic cutting processes for a single machined product using a multi-spindle, multi-line control type NC lathe provided with a plurality of types of tools on a plurality of tool rests, the operator has to read the types of processes required for the machining from the design drawings of the machined product and, while considering the material of the workpiece, suitably judge, set, and input the data required for each machining range in the individual processes (such as types of tools, movement positions of noses, relative cutting speeds of noses and/or relative feed rate of tool rests). In particular, data relating to the cutting conditions such as the cutting speed and the feed rate vary in most suitable values in accordance with the tool nose and the material of the workpiece. The accuracy of judgement and the resultant machining accuracy tend to be governed by the level knowledge or experience of the operator.
Further, when producing a multi-line control program for executing various automatic cutting processes on a single machined product by such a multi-spindle, multi-line control type NC lathe in parallel by a plurality of lines, the operator is required to read the types of processes required for the machining from the design drawings and then suitably judge and design what line and at what time to execute the individual processes would be most advantageous in terms of work efficiency. In particular, when attaching designated tools to be used in the cutting processes on the tool mounts of the tool rests, it is sometimes necessary to use special tool holders depending on the types of the designated tools or the configurations of the tool rests. In that case, however, the operator must decide how to allocate and attach the plurality of designated tools to the plurality of tool mounts provided on a single tool rest with reference to the numbers of the plurality of types of tool holders in stock for the different types and their attributes (such as types of mountable tool rests, types of processes used for and/or attributes of tools for use).
In this way, to produce a highly efficient multi-line control program by the conventional automatic programming apparatus, the operator was required to be fully knowledgeable about the machine configuration of the NC machine tool covered and maintain an accurate grasp of the attributes of the plurality of types of tool holders able to be used in that NC machine tool and the numbers in stock and then suitably allocate and designate attachment locations of the plurality of designated tools to the plurality of tool mounts of one or more tool rests. As a result, a tremendous amount of time and effort is spent on producing the multi-line control program. Further, the quality of the automatically produced multi-line control program (such as length of cycle time, appropriateness of tool management and/or machining accuracy) tends to be remarkably affected by the level of knowledge or experience of the operator.
Further, in the conventional automatic programming apparatus, when the operator checks the content of the produced machining programs, the troublesome work is required of displaying and reading the series of blocks describing the machining programs on a display. With check work of such a program display method, it was hard to obtain a grasp of the time spent for the individual processes and difficult to optimize the programming for shortening the machining time. Further, judging whether the order of execution of the plurality of processes for producing a single machined product can be changed for streamlining the machining work or predicting the impact of a change in the order of processing on the series of machining programs as a whole was extremely difficult with the conventional program display method.
Therefore, an object of the present invention is to provide an automatic programming method and an automatic programming apparatus enabling a series of machining programs for automatically machining complicated and diverse shapes of machined products by a multiple function machining NC machine tool to be quickly and accurately automatically produced without being affected by the level of knowledge or experience of the operator.
Another object of the present invention is to provide an automatic programming method and an automatic programming apparatus enabling the plurality of processes required for production of a machined product to be efficiently and suitably automatically allocated to a plurality of lines when automatically producing a multi-line control program to be executed by a multi-spindle, multi-line control type NC machine tool and thereby enabling a high quality multi-line control program to be quickly automatically produced without being affected by the level of knowledge or experience of the operator.
Still another object of the present invention is to provide a program display processing method able to be effectively used in the art of automatic programming, which program display processing method enables an operator to easily check the contents of a series of machining programs for executing a plurality of processes or the time to be spent by the individual processes or changing the order of execution of these processes.
To achieve the above objects, the present invention, in a first aspect, provides an automatic programming method for automatically producing a machining program to be executed in an NC machine tool, comprising previously setting and registering a plurality of standard cutting condition data relating to cutting conditions required in a plurality of types of cutting processes capable of being performed in an NC machine tool, the plurality of standard cutting condition data being prepared respectively for the plurality of types of cutting processes and individually corresponding to a plurality of kinds of material of workpieces; previously registering a plurality of tool data relating to attributes of a plurality of types of tools capable of being used in the plurality of types of cutting processes; previously setting and registering a plurality of program generating algorithms used for generating machining programs for executing the plurality of types of cutting processes, the plurality of program generating algorithms being prepared respectively for the plurality of types of cutting processes; selecting and designating a kind of material of a workpiece, a type of at least one of the cutting processes performed for the workpiece, and a type of tool used in each of the at least one of the cutting processes; specifying standard cutting condition data corresponding to each of the at least one of the cutting processes, among the plurality of standard cutting condition data as previously registered, on the basis of the kind of material of the workpiece as designated and the type of at least one of the cutting processes as designated, specifying tool data corresponding to the type of the tool as designated, among the plurality of sets of tool data as previously registered, and determining a cutting condition required in association with the kind of material and the tool in each of the at least one of the cutting processes, on the basis of the standard cutting condition data as specified and the tool data as specified; and specifying a program generating algorithm corresponding to each of the at least one of the cutting processes as designated, among the plurality of program generating algorithms as previously registered, and generating a machining program for each of the at least one of the cutting processes, on the basis of the cutting condition as determined, in accordance with the program generating algorithm as specified.
An automatic programming method according to a preferred embodiment further comprises, prior to the generating of the machining program, previously setting and registering a plurality of standard machining conditions required in the plurality of types of cutting processes, the plurality of standard machining conditions being prepared respectively for the plurality of types of cutting processes, and specifying a standard machining condition required in each of the at least one of the cutting processes, among the plurality of standard machining conditions as previously registered, on the basis of the type of at least one of the cutting processes as designated; wherein the machining program is generated by using the standard machining condition as specified.
In this configuration, it is advantageous that the standard machining condition be freely changeable.
Further, the above automatic programming method preferably further comprises, prior to the generating of the machining program, registering, in response to a requirement, supplementary data individually required corresponding to the type of at least one of the cutting processes as designated; wherein the machining program is generated by using the supplementary data as registered.
In this configuration, it is advantageous that the supplementary data be registered by a drawing.
Further, the above automatic programming method preferably further comprises, prior to the determining of the cutting condition, previously setting and registering a cutting condition calculating expression for calculating the cutting condition on the basis of the standard cutting condition data as specified and the tool data as specified, the cutting condition calculating expression being prepared respectively for the plurality of types of cutting processes; wherein the cutting condition is determined in accordance with the cutting condition calculating expression as registered.
Further, the automatic programming method preferably further comprises, prior to the determining of the cutting condition, previously setting and registering a standard parameter for adjusting the standard cutting condition data correspondingly to an attribute of the tool, the standard parameter being prepared respectively for the attributes of tools and the plurality of kinds of material of workpieces; wherein the cutting condition is determined by using the standard parameter as registered.
Further, the automatic programming method preferably further comprises, as occasion demands, modifying the machining program as generated, by changing the cutting condition as determined.
In this configuration, it is advantageous that the method further comprise, after the changing of the cutting condition, calculating a changing parameter for enabling the cutting condition as changed for modifying the machining program to be determined on the basis of the standard cutting condition data, and registering the changing parameter in such a manner as to be prepared respectively for the attributes of tools and the plurality of kinds of material of workpieces.
In this configuration, it is advantageous that the method further comprise, prior to the determining of the cutting condition, previously setting and registering a standard parameter for adjusting the standard cutting condition data correspondingly to an attribute of the tool, the standard parameter being prepared respectively for the attributes of tools and the plurality of kinds of material of workpieces; wherein the cutting condition is determined by using the standard parameter as registered; and further comprise, in a case where the changing parameter, capable of being specified on the basis of the attribute of the tool and the kind of material of the workpiece as designated, is registered, determining the cutting condition by using the changing parameter instead of the standard parameter capable of being specified on the basis of a same attribute of the tool and a same kind of material of the workpiece, whenever the machining program is automatically produced.
In this configuration, it is advantageous that either one of the standard parameter and the changing parameter, which are capable of being specified on the basis of mutually identical attributes of the tool and mutually identical kinds of material of the workpiece, be selected to determine the cutting condition.
The standard cutting condition data may include data of relative cutting speed between a cut point on the workpiece and a nose of the tool as well as data of relative in-feed between the workpiece and the tool.
In this configuration, in a case where the type of at least one of the cutting processes as designated is a turning process, the cutting condition may include a speed of a spindle for rotating the workpiece as well as a relative in-feed between the workpiece and the tool.
Further, in a case where the kind of the tool as designated is a rotary tool, the cutting condition may include a speed of the rotary tool as well as a relative in-feed between the workpiece and the rotary tool.
The present invention, in another aspect, provides an automatic programming apparatus for automatically producing a machining program to be executed in an NC machine tool, comprising a storage unit previously storing various tables including a cutting condition table into which a plurality of standard cutting condition data, relating to cutting conditions required in a plurality of types of cutting processes capable of being performed in an NC machine tool, are set and registered, the plurality of standard cutting condition data being prepared respectively for the plurality of types of cutting processes and individually corresponding to a plurality of kinds of material of workpieces, a tool data table into which a plurality of sets of tool data, relating to attributes of a plurality of types of tools capable of being used in the plurality of types of cutting processes, are registered, and an algorithm table into which a plurality of program generating algorithms, used for generating machining programs for executing the plurality of types of cutting processes, are set and registered, the plurality of program generating algorithms being prepared respectively for the plurality of types of cutting processes; as well as various screens, associated with the various tables, including a material designation screen showing names of the plurality of kinds of material of workpieces, a process designation screen showing names of the plurality of types of cutting processes, and a tool designation screen showing names of the plurality of types of tools; a display unit selectively displaying the various screens stored in the storage unit; an input unit accepting, in relation to the various screens displayed in the display unit, designations of a kind of material of a workpiece, a type of at least one of the cutting processes performed for the workpiece, and a type of tool used in each of the at least one of the cutting processes; a cutting condition determination processing unit specifying and reading standard cutting condition data required in each of the at least one of the cutting processes, from the cutting condition data table stored in the storage unit, on the basis of the kind of material of the workpiece as designated through the input unit and the type of at least one of the cutting processes as designated therethrough, specifying and reading tool data corresponding to the type of the tool as designated through the input unit, from the tool data table stored in the storage unit, and determining a cutting condition associated with the kind of material and the tool, on the basis of the standard cutting condition data as read and the tool data as read; and a program generation processing unit specifying and reading a program generating algorithm corresponding to each of the at least one of the cutting processes as designated through the input unit, from the algorithm table stored in the storage unit, and generating a machining program for each of the at least one of the cutting processes, on the basis of the cutting condition as determined in the cutting condition determination processing unit, in accordance with the program generating algorithm as read.
According to a preferred embodiment, the storage unit previously stores a standard machining condition table into which a plurality of standard machining conditions, required in the plurality of types of cutting processes, are set and registered, the plurality of standard machining conditions being prepared respectively for the plurality of types of cutting processes; and the program generation processing unit specifies and reads a standard machining condition required in each of the at least one of the cutting processes, from the standard machining condition tables as previously stored in the storage unit, on the basis of the type of at least one of the cutting processes as designated through the input unit, to generate the machining program by using the standard machining condition as read.
In this configuration, it is advantageous that the standard machining condition in the standard machining condition table be freely changeable.
Further, it is preferable that the input unit accept, in response to a requirement, a registration of supplementary data individually required correspondingly to the type of at least one of the cutting processes as designated; and the program generation processing unit generate the machining program by using the supplementary data as accepted in the input unit.
In this configuration, it is advantageous that the input unit accept the registration of the supplementary data by a drawing.
Further, preferably the storage unit previously stores a cutting condition calculating expression table into which a plurality of cutting condition calculating expressions, for calculating the cutting condition on the basis of the standard cutting condition data and the tool data, are set and registered, the cutting condition calculating expressions being prepared respectively for the plurality of types of cutting processes; and the cutting condition determination processing unit specifies and reads a cutting condition calculating expression corresponding to each of the at least one of the cutting processes, from the cutting condition calculating expression table as stored in the storage unit, on the basis of the type of at least one of the cutting processes as designated through the input unit, to determine the cutting condition in accordance with the cutting condition calculating expression as read.
Alternatively, preferably the storage unit previously stores a standard parameter table into which a plurality of standard parameters, for adjusting the standard cutting condition data correspondingly to an attribute of the tool, are set and registered, the standard parameters being prepared respectively for the attributes of tools and the plurality of kinds of material of workpieces; and the cutting condition determination processing unit specifies and reads a standard parameter required in each of the at least one of the cutting processes as designated through the input unit, from the standard parameter table as stored in the storage unit, on the basis of the kind of material of the workpiece as designated through the input unit and the attribute of the tool as designated therethrough, to determine the cutting condition by using the standard parameter as read.
Further, preferably the input unit accepts, as occasion demands, a change of the cutting condition; and wherein the program generation processing unit modifies the machining program as generated, in accordance with the change of the cutting condition as accepted in the input unit.
In this configuration, it is advantageous that the cutting condition determination processing unit calculate, after the cutting condition is changed, a changing parameter for enabling the cutting condition as changed for modifying the machining program to be determined on the basis of the standard cutting condition data; and the storage unit store the changing parameter as calculated, in such a manner as to be prepared respectively for the attributes of tools and the plurality of kinds of material of workpieces.
In this configuration, it is advantageous that the storage unit previously store a standard parameter table into which a plurality of standard parameters, for adjusting the standard cutting condition data correspondingly to an attribute of the tool, are set and registered, the standard parameters being prepared respectively for the attributes of tools and the plurality of kinds of material of workpieces; wherein the cutting condition determination processing unit specifies and reads a standard parameter required in each of the at least one of the cutting processes as designated through the input unit, from the standard parameter table as stored in the storage unit, on the basis of the kind of material of the workpiece as designated through the input unit and the attribute of the tool as designated therethrough, to determine the cutting condition by using the standard parameter as read; and the cutting condition determination processing unit determine, in a case where the changing parameter, capable of being specified on the basis of the attribute of the tool and the kind of material of the workpiece as selected, is stored in the storage unit, the cutting condition by using the changing parameter instead of the standard parameter capable of being specified on the basis of a same attribute of the tool and a same kind of material of the workpiece, whenever the machining program is automatically produced.
In this configuration, it is advantageous that the cutting condition determination processing unit select either one of the standard parameter and the changing parameter, which are capable of being specified on the basis of mutually identical attributes of the tool and mutually identical kinds of material of the workpiece, to determine the cutting condition.
The standard cutting condition data may include data of relative cutting speed between a cut point on the workpiece and a nose of the tool as well as data of relative in-feed between the workpiece and the tool.
In this configuration, in a case where the type of at least one of the cutting processes as designated through the input unit is a turning process, the cutting condition may include a speed of a spindle for rotating the workpiece as well as a relative in-feed between the workpiece and the tool.
Further, in a case where the kind of the tool as designated through the input unit is a rotary tool, the cutting condition may include a speed of the rotary tool as well as a relative in-feed between the workpiece and the rotary tool.
The present invention, in a still further aspect, provides an automatic programming method for automatically producing a multi-line control program executed in an NC machine tool provided with at least one spindle and at least one tool rest, both operable under control in a plurality of lines, comprising individually preparing and previously registering a plurality of programs for controlling a plurality of processes required to manufacture a machined product in the NC machine tool, without considering allocation of the programs to the plurality of lines; previously registering tool data relating to attributes of a plurality of types of tools capable of being used in a plurality of types of cutting processes capable of being performed in the NC machine tool; previously registering tool mount data relating to positions, in the at least one tool rest, of a plurality of sets of tool mounts provided in the at least one tool rest; previously registering a tool holder data relating to attributes of a plurality of types of tool holders capable of being installed onto the tool mounts; previously setting and registering a tool management determining algorithm used for allocating mounting locations of a plurality of designated tools, designated in the plurality of programs, for the tool mounts, provided that some of the programs are executed simultaneously in at least two lines among the plurality of lines; specifying a plurality of tool mounts, as the mounting locations of designated tools, allowing execution of a program associated with the designated tools, among the plurality of tool mounts, on the basis of the tool data and the tool mount data, and selecting a plurality of tool holders used for mounting the designated tools correspondingly onto the plurality of tool mounts as specified, on the basis of the tool data and the tool holder data, in accordance with the tool management determining algorithm; and describing a command, designating the plurality of tool mounts as specified, into the plurality of programs, after the selecting of a plurality of tool holders is completed, and automatically allocating the plurality of programs to the plurality of lines.
The automatic programming method according to a preferred embodiment further comprises, prior to the allocating of the plurality of programs to the plurality of lines, selecting either one of three allocation conditions such as a preset data priority of tool management, a cycle time reduction of a multi-line control program and an improvement of machining accuracy; wherein the plurality of programs are automatically allocated to the plurality of lines under an allocation condition as selected.
Further, the above automatic programming method preferably further comprises, prior to the allocating of the plurality of programs to the plurality of lines, previously setting and registering a plurality of types of machining patterns for causing machining operations in a suitable combination of the at least one spindle and the at least one tool rest; wherein the plurality of programs are automatically allocated to the plurality of lines on the basis of some machining patterns selected from the plurality of types of machining patterns.
Further, in the automatic programming method, preferably the tool holder data includes an offset value of a tool nose inherent in each of the plurality of types of tool holders; and the method further comprises, after the selecting of the plurality of tool holders, describing a command of position compensation into the plurality of programs, on the basis of the offset value of tool nose of each of the tool holders as selected.
In the above automatic programming method, preferably the tool holder data includes numbers of the plurality of types of tool holders in stock, prepared respectively for the attributes of the holders; and the plurality of tool holders are selected under consideration of the numbers in stock.
The present invention, in still another aspect, provides an automatic programming apparatus for automatically producing a multi-line control program to be executed in an NC machine tool provided with at least one spindle and at least one tool rest, both operable under control in a plurality of lines, comprising a storage unit previously storing a plurality of programs individually prepared for controlling a plurality of processes required to manufacture a machined product in the NC machine tool, without considering allocation of the programs to the plurality of lines; tool data relating to attributes of a plurality of types of tools capable of being used in a plurality of types of cutting processes capable of being performed in the NC machine tool; tool mount data relating to positions, in the at least one tool rest, of a plurality of tool mounts provided in the at least one tool rest; tool holder data relating to attributes of a plurality of types of tool holders capable of being installed onto the tool mounts; and a tool management determining algorithm used for allocating mounting locations of a plurality of designated tools, designated in the plurality of programs, for the tool mounts, provided that some of the programs are executed simultaneously in at least two lines among the plurality of lines; a program allocation processing unit specifying a plurality of tool mounts, as the mounting locations of designated tools, allowing execution of a program associated with the designated tools, among the plurality of tool mounts, on the basis of the tool data and the tool mount data stored in the storage unit, and selecting a plurality of tool holders used for mounting the designated tools correspondingly onto the plurality of tool mounts as specified, on the basis of the tool data and the tool holder data stored in the storage unit, in accordance with the tool management determining algorithm; the program allocation processing unit describing a command, designating the plurality of tool mounts as specified, into the plurality of programs, after the selecting of a plurality of tool holders is completed, and automatically allocating the plurality of programs to the plurality of lines.
An automatic programming apparatus according to a preferred embodiment further comprises an input unit accepting a designation for selecting either one of three allocation conditions such as a preset data priority of tool management, a cycle time reduction of multi-line control program, and an improvement of machining accuracy; wherein the program allocation processing unit automatically allocates the plurality of programs to the plurality of lines under an allocation condition as selected through the input unit.
Further, preferably the storage unit previously stores a plurality of types of machining patterns for causing machining operations in a suitable combination of the at least one spindle and the at least one tool rest; and the program allocation processing unit automatically allocate the plurality of programs to the plurality of lines on the basis of some machining patterns selected from the plurality of types of machining patterns stored in the storage unit.
Further, preferably the tool holder data stored in the storage unit includes an offset value of a tool nose inherent in each of the plurality of types of tool holders; and the program allocation processing unit reads, after the selecting of the plurality of tool holders is completed, the offset value of tool nose in each of the tool holders as selected, from the tool holder data, and describes a command of position compensation into the plurality of programs, on the basis of the offset value of tool nose as read.
Further, preferably the tool holder data stored in the storage unit includes numbers of the plurality of types of tool holders in stock, prepared respectively for the attributes of the holders; and the program allocation processing unit specifies the plurality of tool mounts and selects the plurality of tool holders, under consideration of the numbers in stock read from the tool holder data.
The present invention, in still another aspect, provides a program display processing method for displaying, in a graphic screen, a multi-line control program to be executed in an NC machine tool provided with at least one spindle and at least one tool rest, both operable under control in a plurality of lines, comprising allocating a plurality of programs, for controlling a plurality of processes required to manufacture a machined product in the NC machine tool, to the plurality of lines, to produce a multi-line control program; calculating running times required in respective individual blocks in the multi-line control program; investigating queuing positions of the programs between the lines in the multi-line control program; individually calculating elapsed times from a program start-end to respective blocks in a series of the programs allocated to each of the plurality of lines; comparing the elapsed times as calculated of the blocks at last stages of all of the lines, and defining a longest elapsed time as a cycle time of the multi-line control program; calculating start times and machining times of respective the processes in each of the plurality of lines; calculating intervals between time graduations in the graphic screen, on the basis of the cycle time as defined, so as to permit the multi-line control program to be entirely displayed in a displayable area of a program displaying screen as previously provided; and respectively aligning rectangular strips, which respectively represent the processes in each of the plurality of lines, with the start times in corresponding lines, with reference to the time graduations as calculated, on the basis of the start times and the machining times as calculated, and displaying the rectangular strips in the graphic screen.
Preferably, the multi-line control program is produced according to the above automatic programming method.
In this configuration, the method further comprises, after the displaying of the rectangular strips representing the processes, changing a combination of some machining patterns as selected.
The changing of a combination of machining patterns may include selecting and designating a machining pattern after changed, on the graphic screen, among the plurality of types of machining patterns as registered, designating the rectangular strip representing the process changeable to the machining pattern as designated, and changing a machining pattern for performing the process corresponding to the rectangular strip as designated into the machining pattern as designated, to display the latter.
Further, it is advantageous that, in a case where the machining pattern after changed is a machining pattern for a simultaneous machining, the method comprise, prior to the display of the machining pattern after changed, judging whether the process corresponding to the rectangular strip as designated is suitable for simultaneous machining; wherein the machining pattern after changed is displayed only when it is judged to be suitable for simultaneous machining.